home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 21 / Cream of the Crop 21 (Terry Blount) (October 1996).iso / program / srcbkvt.zip / 20_20_4.ZIP / VCKINFRM.PAS < prev    next >
Pascal/Delphi Source File  |  1996-04-02  |  2KB  |  91 lines

  1. { Check in form }
  2. unit vckinfrm;
  3.  
  4. interface
  5.  
  6. uses
  7.   Windows, Messages, SysUtils, Classes, Graphics, Controls,
  8.   Forms, Dialogs, StdCtrls, shdmem;
  9.  
  10. type
  11.   TForm1 = class(TForm)
  12.     Label1: TLabel;
  13.     Name: TEdit;
  14.     Label2: TLabel;
  15.     Company: TEdit;
  16.     Label3: TLabel;
  17.     Visited: TEdit;
  18.     Label4: TLabel;
  19.     Timefield: TEdit;
  20.     Label5: TLabel;
  21.     Key: TEdit;
  22.     CheckIn: TButton;
  23.     Clear: TButton;
  24.     SharedMemory: TShareMem;  { Shared Memory!}
  25.     procedure ClearClick(Sender: TObject);
  26.     procedure CheckInClick(Sender: TObject);
  27.     procedure FormCreate(Sender: TObject);
  28.   private
  29.     function GetNewKey : String;
  30.     { Private declarations }
  31.   public
  32.     { Public declarations }
  33.   end;
  34.  
  35. var
  36.   Form1: TForm1;
  37.  
  38. implementation
  39.  
  40. {$R *.DFM}
  41.  
  42. function TForm1.GetNewKey : String;
  43. var
  44.   k : String;
  45.   keynum : Integer;
  46.   code : Integer;
  47. begin
  48. { Lock shared memory }
  49.   SharedMemory.Lock(INFINITE);
  50. { Get next key }
  51.   SharedMemory.Rcl(0,k);
  52. { Convert to number }
  53.   Val(k,keynum,code);
  54. { Set return value from number (if string is empty
  55.   this ensures a zero return value) }
  56.   result:=IntToStr(keynum);
  57. { Increment next key value and put back }
  58.   keynum:=keynum+1;
  59.   k:=IntToStr(keynum);
  60.   SharedMemory.Sto(0,k);
  61.   SharedMemory.Unlock;
  62. end;
  63.  
  64. procedure TForm1.CheckInClick(Sender: TObject);
  65. begin
  66. timefield.Text:=TimeToStr(Time);
  67. key.Text:=GetNewKey;
  68. { commit to database here }
  69. end;
  70.  
  71. procedure TForm1.ClearClick(Sender: TObject);
  72. begin
  73. timefield.Text:='';
  74. key.Text:='';
  75. name.Text:='';
  76. company.Text:='';
  77. visited.Text:='';
  78. ActiveControl:=Name;
  79. end;
  80.  
  81.  
  82.  
  83. procedure TForm1.FormCreate(Sender: TObject);
  84. begin
  85. if SharedMemory.NewFile then
  86.   { clear memory }
  87.   SharedMemory.Clear;
  88. end;
  89.  
  90. end.
  91.